gtk4.git
14 years agostyleproperties: Remove color set function
Benjamin Otte [Tue, 10 Jan 2012 13:28:22 +0000 (14:28 +0100)]
styleproperties: Remove color set function

Now that we do resolvage with the style context directly, this is no
longer needed.

14 years agoDon't leak plugin actions
Matthias Clasen [Wed, 11 Jan 2012 14:37:58 +0000 (09:37 -0500)]
Don't leak plugin actions

Pointed out by Guillaume Desmottes in bug 667695.

14 years agoprinting: gtk_print_settings_load_key_file() ignores group_name
Carlos Garcia Campos [Wed, 11 Jan 2012 13:37:08 +0000 (14:37 +0100)]
printing: gtk_print_settings_load_key_file() ignores group_name

14 years agodocument GtkActionable
Ryan Lortie [Wed, 11 Jan 2012 11:56:35 +0000 (12:56 +0100)]
document GtkActionable

This should have been done before it was merged...

14 years agoRemove duplicate definition of GtkStylePrintFunc
Christophe Fergeau [Wed, 11 Jan 2012 12:10:06 +0000 (13:10 +0100)]
Remove duplicate definition of GtkStylePrintFunc

14 years agoFix some missing renames of GtkApplicationEndStyle
Rico Tzschichholz [Wed, 11 Jan 2012 07:49:34 +0000 (08:49 +0100)]
Fix some missing renames of GtkApplicationEndStyle

14 years agoGtkButton: don't do string compare on property set
Ryan Lortie [Mon, 9 Jan 2012 14:21:18 +0000 (15:21 +0100)]
GtkButton: don't do string compare on property set

Just set the property unconditionally.

https://bugzilla.gnome.org/show_bug.cgi?id=667394

14 years agoRename gtk_application_window_get_observer
Ryan Lortie [Mon, 9 Jan 2012 14:18:28 +0000 (15:18 +0100)]
Rename gtk_application_window_get_observer

This should have been called _create_observer

https://bugzilla.gnome.org/show_bug.cgi?id=667394

Fixup switch

14 years agoAdd a switch
Matthias Clasen [Wed, 11 Jan 2012 05:10:51 +0000 (00:10 -0500)]
Add a switch

Add a switch. This demonstrates:
- that switches can be placed in toolbars
- that GtkSwitch is actionable
- that actions can be shared between multiple actionables

14 years agoGtkSwitch: Implement GtkActionable
Matthias Clasen [Wed, 11 Jan 2012 05:10:34 +0000 (00:10 -0500)]
GtkSwitch: Implement GtkActionable

14 years agoRename GtkApplicationEndStyle
Matthias Clasen [Wed, 11 Jan 2012 03:16:01 +0000 (22:16 -0500)]
Rename GtkApplicationEndStyle

Call it EndSession to make it clearer what this is about.

14 years agoBloatpad: Register with the session
Matthias Clasen [Wed, 11 Jan 2012 02:46:35 +0000 (21:46 -0500)]
Bloatpad: Register with the session

14 years agoSimplify logout notification api
Matthias Clasen [Tue, 10 Jan 2012 05:59:16 +0000 (00:59 -0500)]
Simplify logout notification api

We don't expose ::quit-requested as API anymore. Instead, we expect
users to register inhibitors when needed. Without quit-requested,
there is no need for ::quit-cancelled and gtk_application_quit_response
anymore.

We still emit ::quit when the application is about to quit.

14 years agomigrating-unique-GtkApplication: Update to new GApplication api
Javier Jardón [Tue, 10 Jan 2012 16:23:53 +0000 (16:23 +0000)]
migrating-unique-GtkApplication: Update to new GApplication api

14 years agotests: Fix typo in Makefile.am
Rico Tzschichholz [Tue, 10 Jan 2012 16:00:57 +0000 (17:00 +0100)]
tests: Fix typo in Makefile.am

14 years agoset the G_PARAM_CONSTRUCT flag on the GtkWindow:application property
Guillaume Desmottes [Tue, 10 Jan 2012 15:03:15 +0000 (16:03 +0100)]
set the G_PARAM_CONSTRUCT flag on the GtkWindow:application property

This allows subclass to get the value of this property in their constructed
method.

https://bugzilla.gnome.org/show_bug.cgi?id=667628

14 years agoNon-XInput2 build fix
Patrick Welche [Mon, 9 Jan 2012 11:27:28 +0000 (11:27 +0000)]
Non-XInput2 build fix

The part in gdkwindow-x11.c which uses XIEvent and friends is "protected"
by HAVE_XGENERICEVENTS, i.e., XGetEventData() has been found. (Xlib.h)

XIEvent and friends are defined in <X11/extension/XInput2.h> which is
included by gdkdisplay-x11.h if XINPUT_2 is defined.

The patch makes sure XIEvent is only used if XINPUT_2 is defined.

https://bugzilla.gnome.org/show_bug.cgi?id=667534

14 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 10 Jan 2012 09:43:22 +0000 (10:43 +0100)]
Updated Spanish translation

14 years agoUpdated Finnish translations by Jiri Grönroos.
Timo Jyrinki [Tue, 10 Jan 2012 08:54:13 +0000 (09:54 +0100)]
Updated Finnish translations by Jiri Grönroos.

14 years agoFix wrong refencences in the docs
Matthias Clasen [Mon, 9 Jan 2012 22:30:09 +0000 (17:30 -0500)]
Fix wrong refencences in the docs

Replace all references to g_application_set_app_menu and
g_application_set_menubar by their gtk variants, which
actually exist. Pointed out in bug 667546

14 years agoFall back to the builtin icons for spinbutton +/-
Matthias Clasen [Mon, 9 Jan 2012 22:15:17 +0000 (17:15 -0500)]
Fall back to the builtin icons for spinbutton +/-

We do have list-add/-remove icons in the builtin icon theme,
so why not use them ?

14 years agoAdd missing symbols
Matthias Clasen [Mon, 9 Jan 2012 20:11:50 +0000 (15:11 -0500)]
Add missing symbols

14 years agostyleproperty: Call style properties init function in more places
Benjamin Otte [Mon, 9 Jan 2012 21:06:17 +0000 (22:06 +0100)]
styleproperty: Call style properties init function in more places

In particular, call it when querying properties by id. This is necessary
for make check to not die.

14 years agoFix doc markup
Matthias Clasen [Mon, 9 Jan 2012 19:09:27 +0000 (14:09 -0500)]
Fix doc markup

14 years agoUpdated POTFILES.in and POTFILES.skip
Piotr Drąg [Mon, 9 Jan 2012 18:51:50 +0000 (19:51 +0100)]
Updated POTFILES.in and POTFILES.skip

14 years agoRename 'window-unfocused' to 'backdrop'
Rui Matos [Thu, 5 Jan 2012 17:21:03 +0000 (17:21 +0000)]
Rename 'window-unfocused' to 'backdrop'

'window-unfocused' is too long and mentions "focus" which is historically
loaded with the meaning "input focus".

'backdrop' isn't generally used in GUI speak and still conveys the state the
widgets in an unfocused or background toplevel window are in.

14 years agothemingengine: Move border-image handling into render_frame_internal()
Benjamin Otte [Sun, 8 Jan 2012 04:38:10 +0000 (05:38 +0100)]
themingengine: Move border-image handling into render_frame_internal()

This fixes 2 bugs:
1) extensions didn't get border images
2) border-images caused outlines to not be drawn

14 years agoroundedbox: close path
Benjamin Otte [Sun, 8 Jan 2012 03:56:31 +0000 (04:56 +0100)]
roundedbox: close path

Just because we do it everywhere else, too.

14 years agothemingengine: Implement outline support
Benjamin Otte [Sun, 8 Jan 2012 01:55:34 +0000 (02:55 +0100)]
themingengine: Implement outline support

14 years agothemingengine: Split out the border drawing function
Benjamin Otte [Sun, 8 Jan 2012 01:41:30 +0000 (02:41 +0100)]
themingengine: Split out the border drawing function

14 years agocss: Add outline CSS properties
Benjamin Otte [Sun, 8 Jan 2012 01:10:35 +0000 (02:10 +0100)]
css: Add outline CSS properties

14 years agothemingengine: Implement 'dotted' and 'dashed'
Benjamin Otte [Sun, 8 Jan 2012 00:17:48 +0000 (01:17 +0100)]
themingengine: Implement 'dotted' and 'dashed'

14 years agocss: Introduce a corner order enum
Benjamin Otte [Sat, 7 Jan 2012 21:40:17 +0000 (22:40 +0100)]
css: Introduce a corner order enum

Same order as CSS again.

The nice thing about this is that now edge i in a rounded box follows
corner i and is followed by corner (i + 1) % 4.

14 years agocss: Introduce GtkCssSide
Benjamin Otte [Sat, 7 Jan 2012 21:20:51 +0000 (22:20 +0100)]
css: Introduce GtkCssSide

... and use it.

This is basically an encoding of the order of sides in CSS. So when
parsing things, this is the way we parse things in.

14 years agothemingengine: Implement ridge and groove
Benjamin Otte [Sat, 7 Jan 2012 20:24:50 +0000 (21:24 +0100)]
themingengine: Implement ridge and groove

14 years agothemingengine: Redo color handling
Benjamin Otte [Sat, 7 Jan 2012 19:59:59 +0000 (20:59 +0100)]
themingengine: Redo color handling

Don't work on malloc()ed colors. Instead, use an array on the heap. This
makes it easier to copy the array.

14 years agothemingengine: Refactor drawing code
Benjamin Otte [Sat, 7 Jan 2012 19:50:17 +0000 (20:50 +0100)]
themingengine: Refactor drawing code

... and implement 'double' border-style as proof-of-concept.

14 years agocss: border-style: hidden computes a 0 border
Benjamin Otte [Sat, 7 Jan 2012 16:45:15 +0000 (17:45 +0100)]
css: border-style: hidden computes a 0 border

14 years agoAPI: Add all border styles from CSS 3
Benjamin Otte [Sat, 7 Jan 2012 15:48:42 +0000 (16:48 +0100)]
API: Add all border styles from CSS 3

14 years agostyleproperty: Simplify code
Benjamin Otte [Sat, 7 Jan 2012 15:35:40 +0000 (16:35 +0100)]
styleproperty: Simplify code

Merge 1-line function into only caller

14 years agotests: Add a test for all the border shorthands
Benjamin Otte [Sat, 7 Jan 2012 04:35:50 +0000 (05:35 +0100)]
tests: Add a test for all the border shorthands

Too much fun with random test generation, so I did a big one.

14 years agoAlso add border-{top|right|bottom|left} shorthands
Paolo Borelli [Sat, 7 Jan 2012 02:04:10 +0000 (03:04 +0100)]
Also add border-{top|right|bottom|left} shorthands

14 years agoAdd the border css shorthand
Paolo Borelli [Wed, 4 Jan 2012 23:04:12 +0000 (00:04 +0100)]
Add the border css shorthand

14 years agotests: Fix for changes in this branch
Benjamin Otte [Sat, 7 Jan 2012 01:25:17 +0000 (02:25 +0100)]
tests: Fix for changes in this branch

The expected results are now more correct,  but still not perfect.

14 years agoRename parse_border
Paolo Borelli [Wed, 4 Jan 2012 18:18:21 +0000 (19:18 +0100)]
Rename parse_border

For consistency we will use this name for the boder shorthand.

14 years agoAdd reftets for border-style property
Paolo Borelli [Fri, 6 Jan 2012 15:34:28 +0000 (16:34 +0100)]
Add reftets for border-style property

14 years agoreftests: Add a CSS file to reset properties to default values
Benjamin Otte [Fri, 6 Jan 2012 22:27:46 +0000 (23:27 +0100)]
reftests: Add a CSS file to reset properties to default values

We can use this to be independant of themes. See the comment at the top
of the file

14 years agoUse the border-style subproperties for drawing
Paolo Borelli [Fri, 6 Jan 2012 19:58:19 +0000 (20:58 +0100)]
Use the border-style subproperties for drawing

Use the newly introduced per-side property to draw frames.

14 years agoSet border-width to 0 in compute function
Benjamin Otte [Fri, 6 Jan 2012 21:25:05 +0000 (22:25 +0100)]
Set border-width to 0 in compute function

This reverts commit c276f53796158d2ed025861f9d9e10eaeee3a279 and
implements the same feature using the compute function.
A nice side effect is that gtk_style_property_get_border() and
gtk_style_property_get("border") to the same thing now.

14 years agoAdd border-{top|left|bottom|right}-style properties
Paolo Borelli [Thu, 5 Jan 2012 15:53:43 +0000 (16:53 +0100)]
Add border-{top|left|bottom|right}-style properties

Add all the border-style subproperties and turn border-style itself in a
shorthand.

14 years agothemingengine: Remove an optimization
Benjamin Otte [Fri, 6 Jan 2012 19:33:00 +0000 (20:33 +0100)]
themingengine: Remove an optimization

We optimize the case later on, so no need to do it here.

14 years agospinbutton: Pass the right size
Benjamin Otte [Fri, 6 Jan 2012 15:08:05 +0000 (16:08 +0100)]
spinbutton: Pass the right size

We need a better diffrentiation between icon sizes - ie GtkIconSize vs
pixel size. Or more CSS.

14 years agobackground: Implement all options of background-repeat
Benjamin Otte [Thu, 5 Jan 2012 15:33:39 +0000 (16:33 +0100)]
background: Implement all options of background-repeat

14 years agotests: Add test for background-repeat
Benjamin Otte [Thu, 5 Jan 2012 01:49:43 +0000 (02:49 +0100)]
tests: Add test for background-repeat

14 years agostyleproperty: Parse all values for background-repeat
Benjamin Otte [Thu, 5 Jan 2012 01:48:32 +0000 (02:48 +0100)]
styleproperty: Parse all values for background-repeat

... and its component in the background property.

14 years agoreftests: Add a test for 'background'
Benjamin Otte [Wed, 4 Jan 2012 20:53:01 +0000 (21:53 +0100)]
reftests: Add a test for 'background'

It just tests all the permutations to make sure my idea for implementing
random ordering actually works.

It does (at least currently).

14 years agoshorthand: Implement the 'background' shorthand
Benjamin Otte [Wed, 4 Jan 2012 18:15:00 +0000 (19:15 +0100)]
shorthand: Implement the 'background' shorthand

Weee, shorthands are now really trivial \o/

14 years agocssimage: Add _gtk_css_image_can_parse()
Benjamin Otte [Wed, 4 Jan 2012 17:42:38 +0000 (18:42 +0100)]
cssimage: Add _gtk_css_image_can_parse()

Looks at the first token of the stream to see if this looks like an
image declaration. If it does: return %TRUE.

14 years agobackground: Simplify background-repeat
Benjamin Otte [Wed, 4 Jan 2012 15:31:04 +0000 (16:31 +0100)]
background: Simplify background-repeat

It used to be a struct, now it's just an enum

14 years agocss: Remove GtkCssBorderRadius
Benjamin Otte [Wed, 4 Jan 2012 12:27:28 +0000 (13:27 +0100)]
css: Remove GtkCssBorderRadius

It's not used anymore.

14 years agoIntroduce _gtk_css_parser_try_length
Paolo Borelli [Thu, 5 Jan 2012 14:47:23 +0000 (15:47 +0100)]
Introduce _gtk_css_parser_try_length

This starts to introduce the proper API abstraction for when we will
support different units

14 years agoborderimage: Change memory management
Benjamin Otte [Wed, 4 Jan 2012 03:17:38 +0000 (04:17 +0100)]
borderimage: Change memory management

Making it a on-stack object simplifies things a lot.

14 years agoborder-image: Remove pack/unpack functions
Benjamin Otte [Wed, 4 Jan 2012 03:06:50 +0000 (04:06 +0100)]
border-image: Remove pack/unpack functions

They are not used anymore. Also, it's no longer necessary to register
GtkBorderImage as a custom GType.

14 years agoshorthand: Make border-image unget/settable
Benjamin Otte [Wed, 4 Jan 2012 03:04:59 +0000 (04:04 +0100)]
shorthand: Make border-image unget/settable

14 years agoshorthand: Don't require pack/unpack functions
Benjamin Otte [Wed, 4 Jan 2012 03:04:15 +0000 (04:04 +0100)]
shorthand: Don't require pack/unpack functions

When using G_TYPE_NONE as the shorthand's type, the property is not
gettable/settable using regular APIs, so it essentially doesn't exist.
As it should be.

14 years agoborderimage: Add _gtk_border_image_new_for_context()
Benjamin Otte [Wed, 4 Jan 2012 03:00:58 +0000 (04:00 +0100)]
borderimage: Add _gtk_border_image_new_for_context()

and use it.

14 years agoborderimage: Remove unused enums
Benjamin Otte [Wed, 4 Jan 2012 02:48:54 +0000 (03:48 +0100)]
borderimage: Remove unused enums

14 years agoreftests: Ensure no explicit colors are set on labels
Benjamin Otte [Tue, 3 Jan 2012 21:40:08 +0000 (22:40 +0100)]
reftests: Ensure no explicit colors are set on labels

14 years agostyleproperty: Use a custom resolve function for colors
Benjamin Otte [Tue, 3 Jan 2012 16:59:31 +0000 (17:59 +0100)]
styleproperty: Use a custom resolve function for colors

We want to make sure to fall back to the initial value of the property
if resolving fails.

This is kinda tricky, because the initial value itself might need
resolving, too.

14 years agoreftests: Fix a bunch of invalid CSS cases
Benjamin Otte [Tue, 3 Jan 2012 04:06:50 +0000 (05:06 +0100)]
reftests: Fix a bunch of invalid CSS cases

use 'transparent' instead of 'none' for colors.

14 years agocss: Handle 'currentColor' special value
Benjamin Otte [Tue, 3 Jan 2012 03:38:09 +0000 (04:38 +0100)]
css: Handle 'currentColor' special value

Computes to the value of the 'color' property, or when used on that
property, is treated as 'inherit'.

14 years agostylecontext: NMake safe to call into during lookup
Benjamin Otte [Tue, 3 Jan 2012 03:36:11 +0000 (04:36 +0100)]
stylecontext: NMake safe to call into during lookup

When resolving a lookup, we may want to query the current style context,
as in the next patch. This works now.

14 years agostyleproperty: Change order for property registration
Benjamin Otte [Tue, 3 Jan 2012 02:37:13 +0000 (03:37 +0100)]
styleproperty: Change order for property registration

Some properties depend on other properties, handle those first.

14 years agowin32: Remove GtkWin32ThemePart
Benjamin Otte [Tue, 3 Jan 2012 02:21:21 +0000 (03:21 +0100)]
win32: Remove GtkWin32ThemePart

Its job is done by GtkCssImage now.

14 years agoborderimage: Convert to using GtkCssImage
Benjamin Otte [Wed, 21 Dec 2011 16:43:31 +0000 (17:43 +0100)]
borderimage: Convert to using GtkCssImage

14 years agothemingbackground: Convert to GtkCssImage
Benjamin Otte [Tue, 3 Jan 2012 01:40:50 +0000 (02:40 +0100)]
themingbackground: Convert to GtkCssImage

The conversion is incomplete and requires some work to account for
all the CSS crazies, like repeat modes and background-size.

14 years agocsslookup: Use the new gtk_style_context_peek_property()
Benjamin Otte [Tue, 3 Jan 2012 04:06:30 +0000 (05:06 +0100)]
csslookup: Use the new gtk_style_context_peek_property()

14 years agothemingengine: Add _gtk_theming_engine_peek_property()
Benjamin Otte [Tue, 3 Jan 2012 01:35:56 +0000 (02:35 +0100)]
themingengine: Add _gtk_theming_engine_peek_property()

This is useful for getting at computed values and allows accessing
images before the code autoconverts them to a cairo pattern.

14 years agostylecontext: Add _gtk_style_context_peek_property()
Benjamin Otte [Tue, 3 Jan 2012 01:35:05 +0000 (02:35 +0100)]
stylecontext: Add _gtk_style_context_peek_property()

This allows peeking at the computed value for a property. This is useful
for looking at GtkCssImage.

14 years agotheme: Apply background merging code
Benjamin Otte [Mon, 2 Jan 2012 22:23:20 +0000 (23:23 +0100)]
theme: Apply background merging code

It was unused and untested and did not do at all what the CSS spec says.

14 years agostyleproperty: Convert background-image from pattern to GtkCssImage
Benjamin Otte [Mon, 2 Jan 2012 21:22:25 +0000 (22:22 +0100)]
styleproperty: Convert background-image from pattern to GtkCssImage

14 years agocssimage: Add a few convenience functions
Benjamin Otte [Wed, 21 Dec 2011 16:40:16 +0000 (17:40 +0100)]
cssimage: Add a few convenience functions

14 years agostyleproperty: Use factored-out gradient parser
Benjamin Otte [Tue, 20 Dec 2011 14:47:03 +0000 (15:47 +0100)]
styleproperty: Use factored-out gradient parser

14 years agowin32: Add a CssImage implementation
Benjamin Otte [Tue, 20 Dec 2011 13:44:53 +0000 (14:44 +0100)]
win32: Add a CssImage implementation

14 years agocssimage: Add GtkCssImageGradient
Benjamin Otte [Tue, 20 Dec 2011 13:46:19 +0000 (14:46 +0100)]
cssimage: Add GtkCssImageGradient

14 years agowin32: Export _gtk_win32_theme_part_create_surface()
Benjamin Otte [Tue, 20 Dec 2011 13:40:07 +0000 (14:40 +0100)]
win32: Export _gtk_win32_theme_part_create_surface()

14 years agowin32: Export _gtk_win32_lookup_htheme_by_classname()
Benjamin Otte [Tue, 20 Dec 2011 13:15:41 +0000 (14:15 +0100)]
win32: Export _gtk_win32_lookup_htheme_by_classname()

14 years agocssimage: Improve new_parse() to select right image type
Benjamin Otte [Tue, 20 Dec 2011 07:52:54 +0000 (08:52 +0100)]
cssimage: Improve new_parse() to select right image type

14 years agocss: Add _gtk_css_parser_has_prefix()
Benjamin Otte [Tue, 20 Dec 2011 07:15:18 +0000 (08:15 +0100)]
css: Add _gtk_css_parser_has_prefix()

14 years agocss: Add image implementation for urls
Benjamin Otte [Tue, 20 Dec 2011 07:00:34 +0000 (08:00 +0100)]
css: Add image implementation for urls

14 years agocss: Add GtkCssImage class
Benjamin Otte [Mon, 19 Dec 2011 21:11:20 +0000 (22:11 +0100)]
css: Add GtkCssImage class

Doesn't do anything yet, just exists.

14 years agostyle: Remove GtkStylePropertyContext again
Benjamin Otte [Mon, 2 Jan 2012 18:22:30 +0000 (19:22 +0100)]
style: Remove GtkStylePropertyContext again

We need to solve this differently. I have no idea yet how, but I'll
invent something later.

This only affects win32 theming and that's broken anyway.

14 years agostyleproperty: Remove context arg from _gtk_style_context_query()
Benjamin Otte [Mon, 2 Jan 2012 18:14:28 +0000 (19:14 +0100)]
styleproperty: Remove context arg from _gtk_style_context_query()

14 years agostylecontext: Remove GtkStylePropertyContext from pack funcs
Benjamin Otte [Mon, 2 Jan 2012 17:39:03 +0000 (18:39 +0100)]
stylecontext: Remove GtkStylePropertyContext from pack funcs

14 years agostyleproperty: Add compute_value vfunc
Benjamin Otte [Mon, 2 Jan 2012 17:28:24 +0000 (18:28 +0100)]
styleproperty: Add compute_value vfunc

14 years agostyleproperty: Move parse/print vfuncs to GtkCssStyleProperty
Benjamin Otte [Mon, 2 Jan 2012 17:05:06 +0000 (18:05 +0100)]
styleproperty: Move parse/print vfuncs to GtkCssStyleProperty

14 years agostyleproperty: Add a compute vfunc
Benjamin Otte [Mon, 2 Jan 2012 16:50:32 +0000 (17:50 +0100)]
styleproperty: Add a compute vfunc

14 years agotests: Add test for 'initial' and 'inherit' on shorthands
Benjamin Otte [Mon, 2 Jan 2012 14:52:21 +0000 (15:52 +0100)]
tests: Add test for 'initial' and 'inherit' on shorthands

14 years agocss: Redo value resolving
Benjamin Otte [Mon, 2 Jan 2012 14:44:45 +0000 (15:44 +0100)]
css: Redo value resolving

Instead of on-demand resolvage, we now resolve during lookup. The step
is done via
  _gtk_css_style_property_compute_value()
which currently calls into
  _gtk_css_style_compute_value()
That function has all the old resolving machinery.

The only part missing for now is the handling of win32 code. It will be
added back later.

14 years agogradient: Allow resolving with contexts
Benjamin Otte [Mon, 2 Jan 2012 14:44:27 +0000 (15:44 +0100)]
gradient: Allow resolving with contexts